In [1]:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import math
import json
from datetime import datetime
In [2]:
d = json.load(open("user_data/data/binance/ETH_BTC-1d.json"))
In [3]:
df = pd.DataFrame(d, columns=['Time', 'Open', 'High', 'Low', 'Close', 'Volume'])

df['Time'] = [datetime.fromtimestamp(i/1000).date() for i in df['Time']]
df
Out[3]:
Time Open High Low Close Volume
0 2020-01-01 0.017954 0.018356 0.017920 0.018150 69117.5680
1 2020-01-02 0.018152 0.018319 0.017965 0.018256 79445.9080
2 2020-01-03 0.018257 0.018425 0.017800 0.018297 151077.8470
3 2020-01-04 0.018298 0.018360 0.018140 0.018248 84277.1580
4 2020-01-05 0.018247 0.018565 0.018152 0.018400 107997.2020
... ... ... ... ... ... ...
753 2022-01-23 0.068779 0.070826 0.068286 0.070057 89935.6563
754 2022-01-24 0.070056 0.070112 0.064675 0.066549 154668.4272
755 2022-01-25 0.066544 0.067089 0.065609 0.066518 77601.7095
756 2022-01-26 0.066535 0.069943 0.065580 0.066919 115408.2677
757 2022-01-27 0.066918 0.068003 0.064715 0.065228 84365.6624

758 rows × 6 columns

In [4]:
import plotly.graph_objects as go
from datetime import datetime

fig = go.Figure(data=[go.Candlestick(x=df['Time'],
                open=df['Open'],
                high=df['High'],
                low=df['Low'],
                close=df['Close'])])

fig.update_layout(title_text='ETH/BTC evolution', title_x=0.5,
                  xaxis_title='Date',
                  yaxis_title='BTC')
fig.show()